Robot collaboration control system

ABSTRACT

The present invention has a communication connection means ( 21 ) which mutually connects communicatably control units (Ca, Cb) for individually controlling operations of robots (Ra, Rb) to constitute a network, input means ( 37   a   , 37   b ) which are respectively installed in the control units and input operation instructions of the robots, and timing signal generation means ( 69   a   , 69   b ). The control units are selectively set to any one of an independent function execution mode, a master function execution mode, and a slave function execution mode, and among the control units, the control unit (Ca) to perform a master operation is set to the master function execution mode, and the residual control unit (Cb) is set to the slave function execution mode, and by correcting a minimum interruption period (Ts(b)) of the slave side control unit (Cb), a control time (ta 11 , ta 12 , ta 13 ) to the master robot (Ra) of the master side control unit (Ca) is delayed by a predetermined time (T) to perform the cooperative operation. By doing this, the control units are always kept in the synchronized state, thus the operations of the robots can be prevented from variations.

TECHNICAL FIELD

The present invention relates to a cooperative control system of robotsof which control units, which may be called robot controllers installedrespectively in a plurality of robots, are connected to a communicationnetwork and the robots are operated cooperatively.

BACKGROUND ART

Conventionally, when a workpiece is heavy or large, to realize acooperative operation for transferring the workpiece precisely andstably by maintaining the state of surely holding the workpiece by aplurality of robots via a plurality of preset teaching points extendingfrom the departure point to the arrival point and interpolation pointsbetween the teaching points, a cooperative control system forcooperatively controlling each robot is adopted.

In such a cooperative control system using a plurality of robots, aworkpiece can be held at a plurality of positions according to thearrangement positions of the robots in the working space, so that evenif the workpiece is large, it can be transferred stably. Further, evenif the workpiece is heavy, the weight of the workpiece is dispersed tothe plurality of robots, so that the weight load and inertia load ofeach robot are little, thus the transfer speed can be increased and thetransfer time can be shortened.

With respect to the aforementioned cooperative control system, there area “many:1” system for generally controlling a plurality of robots by onecontrol unit and a “1:1” system individually having a control unitcorresponding to each robot available. In the “many:1” system forgenerally controlling a plurality of robots by one control unit, onecontrol unit must control a plurality of robots, so that the controlunit has a special constitution.

On the other hand, in the “1:1” system which is equipped with controlunits respectively for a plurality of robots and individually controlsthe robots, one control unit controls one robot, so that there is noneed to use control units having a special constitution like theaforementioned “many:1” system and general-purpose control units can beused. Therefore, compared with the “many : 1” 1 system, the “1:1” systemcan easily realize a cooperative control system by introducing acooperative control program and is excellent in the easiness ofrealization.

Moreover, the aforementioned general-purpose control unit can be usedindependently for other uses without constructing a cooperative controlsystem and the control unit purchase cost can be saved, so that thegeneral-purpose control unit has an advantage of being economical.Furthermore, the number of robots can be freely changed, so that thegeneral-purpose control unit can freely respond to the system design andit has an advantage of having a high degree of freedom in the systemdesign.

Furthermore, in another conventional art, in the aforementioned “1:1”individual cooperative control system individually equipped with controlunits for a plurality of robots, an individual control system forpreparing a program for each robot and controlling the transferoperation using interlocks and a master/slave cooperative control systemfor setting one of a plurality of robots as a master robot, setting theother robots excluding the master robot as slave robots synchronizingwith and following the master robot, cooperatively controlling themaster robot and slave robots by a software program loaded in the masterrobot, thereby transferring a workpiece are known.

In the aforementioned master/slave cooperative control system, when theoperation of robot must be changed due to changing of a workpiece andchanging of transfer conditions, only the program loaded in the masterrobot may be changed, so that the system has an advantage that theprogram can be easily changed, prepared, and managed. Therefore, among aplurality of control units realized by a general-purpose robotcontroller, one master control unit is selected and the residual one orplural slave control units are cooperatively operated.

In such a system for cooperatively controlling between the master andslave robots, when data is to be transmitted and received betweencontrol units connected by a bus or a communication line, the controlunits constituting control systems individually and independently foreach robot must be mutually synchronized. As a method forsynchronization, when the control units are connected by a bus and datais to be transmitted and received between the control units by a sharedmemory method, there are a method for setting a flag on the sharedmemory and a method for generating an event in the interruption processusing an interruption available.

FIG. 11 is a block diagram showing a part of the constitution in thesoftware program for synchronizing the control units A and B of themaster robot and slave robots in the master/slave cooperative controlsystem of the conventional art. The conventional art is structured sothat to in order to synchronize the control units A and B by the sharedmemory method, as viewed from the master side control unit A forcontrolling the master robot and the slave side control unit B forcontrolling the slave robots, a processing unit 2 of the master sidecontrol unit A writes the instruction value into a flag 4 on a sharedmemory 3 of the slave side control unit B, and a processing unit 5 ofthe slave side control unit B stands by until the instruction value iswritten into the flag 4 on the shared memory 3. Moreover, in order tomonitor the flag 4 after the processing operation of the processing unit5 of the slave side control unit B is finished, the polling operation isperformed, and an event occurred at the time of a synchronization can beprocessed.

FIG. 12 is a block diagram for explaining the method for synchronizingthe control units A and B by the interruption used in the master/slavecooperative control system of another conventional art. Between thecontrol units A and B, when an interruption instruction from aprocessing unit 11 of the control unit A is input to the control unit Bvia a communication line 10, the control unit B activates aninterruption processing means 12, generates an event in the interruptionprocessing means 12, and activates a processing means 13. The processingmeans 13 of the control unit B, when the event process is finished,enters again the event standby state.

Still another conventional art is disclosed in Japanese Patent Laid-OpenPublication 7-20915. In this conventional art, a cooperative controlsystem of robots to be cooperatively controlled which includes tworobots having an arm which are a control object of the cooperativeoperation and control units for individually controlling the robots anduses one among the robots as a master robot and the other as a slaverobot is disclosed.

The respective control units perform interpolation calculations on thebasis of the teaching point data and decide the passing point to whichthe arm of the master robot moves, and the next passing point of the armof the slave robot is decided in either of the control units on thebasis of the point to which the arm of the master robot moves next andthe relative position and posture relationships of both armscorresponding to the state of a workpiece during transportation. Themaster side control unit decides the next passing point of the armaccording to the given teaching contents and transmits the data to theslave side control unit. Thereby, the next passing point of the arm ofthe slave robot is decided. These control units, to transmit and receivemutual data as mentioned above, are connected by a communication line.Further, the control units, to synchronize with each other, use a clocksignal from a clock oscillation circuit built in the CPU (centralprocessing unit) of each of the control units and data and a programwhich are necessary for the cooperative operation are all stored in thememory of the control unit common to the master and slave robots.

In the conventional arts shown in FIGS. 11 and 12, a problem arises thata useless waiting time such as polling for the flag or stand by for anevent is generated. Further, in the aforementioned conventional artdisclosed in Japanese Patent Application 7-20915, to cooperativelyoperate the master arm and slave arm, when synchronizing the controlunits with each other, a concrete countermeasure is not adopted tocancel a fine difference between the synchronizing signals of thecontrol units, a displacement in the control period due to accumulationof a fine difference between the transmission period and the receptionperiod, and an inevitable communication delay by the communication line.As a result, a problem arises that a plurality of control units cannotbe maintained always in the synchronization state. Furthermore, a methodfor inputting an operation instruction from input means respectivelyprovided in control means installed for each robot, a method fortransmitting and receiving signals between input/output means for eachrobot, and a method for responding to an error in setting of therelative position of the respective robots are not taken into account,so that it is practically impossible to construct a cooperative controlsystem.

Therefore, an object of the present invention is to provide acooperative control system of robots capable of cancelingsynchronization variations of a plurality of control units andpreventing variations in the cooperative operation of robots.

DISCLOSURE OF INVENTION

The cooperative control system of robots of the present invention has aplurality of control units for controlling individually respectiveoperations of a plurality of robots in synchronization with a timingsignal generated in a predetermined minimum interruption period, acommunication connection means which communicatably connects the controlunits to each other and constitutes a network, input means which arerespectively installed in the control units and input operationinstructions of the robots, storage means which are respectivelyinstalled in the control units and store programs for operating therobots in response to the operation instructions of the robots, andtiming signal generation means which are respectively installed in thecontrol units and generate the timing signal in the minimum interruptionperiod, wherein the control units can execute selectively at least oneof the independent function execution mode, master function executionmode, and slave function execution mode by the programs stored in thestorage means, and when one of the plurality of control units is set tothe master function execution mode by execution of the program, at leastone of the residual control units excluding the control unit which isset to the master function execution mode among the plurality of controlunits is set to the slave function execution mode for executing theslave operation by execution of the program, and the master robotcontrolled by the control unit set to the master function execution modeand the slave robot controlled by the control unit set to the slavefunction execution mode are cooperatively operated.

According to the present invention, the control units are installedrespectively in the plurality of robots and the control unitsindividually control the operations of the robots in synchronizationwith the timing signal generated from the timing signal generation meansin the predetermined minimum interruption period. The control units arecommunicatably connected to each other by the communication connectionmeans and a communication network is constructed between the controlunits. The control units respectively have input means, which can inputteaching data necessary to perform the independent operation andcooperative operation of the robots. Further, in the storage means, aprogram for operating each robot in response to a predeterminedoperation instruction for each robot is stored, and by execution of thisprogram, each control unit is selectively set to any of the independentfunction execution mode, master function execution mode, and slavefunction execution mode, and when one control unit is set to the masterfunction execution mode, all of or a part of the residual control unitsare set to the slave function execution mode.

As mentioned above, the control units can selectively set any one of theindependent function execution mode, master function execution mode, andslave function execution mode according to the program, so that amongthe control units, the control unit of the robot to perform the masteroperation, the control unit of the robot to perform the slave operation,and the control unit of the robot to perform the independent operationare described on the program as a command, thus the selected controldevice is set to the master execution mode for executing the masteroperation. Further, among the residual control units, a part of or allof the control units to perform the slave operation are selected,concretely set as a command on the program, thus the selected controldevice is set to the slave execution mode for executing the slaveoperation.

By doing this, among a series of operations executed by the robots, forthe process of the cooperative operation, the robots are set to themaster robot and slave robots and they communicate mutually via thecommunication connection means, are synchronized with high precision,thus can be operated cooperatively.

Further, it is preferable that the control unit set to the slavefunction execution mode changes the minimum interruption period Ts(b) ofthe control unit set to the slave function execution mode so as to makea communication delay time (tb-ta) from the time ta when the controlunit set to the master function execution mode transmits an operationinstruction to the time tb when the control unit set to the slavefunction execution mode receives the operation instruction and startscontrolling its own robot equal to a predetermined time T.

The control unit set to the slave function execution mode changes theminimum interruption period so as to make the communication delay time(tb-ta) from the time ta when the control unit set to the masterfunction execution mode transmits the operation instruction to the timetb when the control unit set to the slave function execution modereceives the operation instruction and starts controlling its own robotequal to the predetermined time T. As a result, the time tb when theslave side control unit starts controlling its own robot is preventedfrom greatly varying from the time ta when the master side control unittransmits the operation signal to the master side control unit so as tobecome longer or shorter than the predetermined time T. By doing this,the time variation for the operation of the slave robot from the masterrobot is restricted, thus the robots can be cooperatively operatedprecisely.

Further, the predetermined time T is preferably selected to less thanthe control period W of each control unit.

Since the predetermined time T is selected to less than the controlperiod W of the control units, the time (tb-ta) from the time ta whenthe operation instruction is transmitted from the master side controlunit to the time tb when it is received by the slave side control unitand the slave side control unit starts controlling its own robot isprevented from exceeding the control period W. By doing this, the slaveside control unit surely prevents an occurrence of a fault of receivinga plurality of operation instructions from the master side control unitwithin the time of one control period W of the slave side control unitand the master robot and slave robot can be cooperatively operated withhigh precision.

Further, the control unit set to the master function execution modepreferably transmits an instruction to its own robot while being delayedby the communication delay time (tb-ta) for the control unit set to theslave function execution mode.

From transmission of the instruction from the control unit in the masterfunction execution mode to reception of it by the control unit in theslave function execution mode, there exists the delay time (tb-ta) dueto communication and operation variations are caused between the masterrobot and the slave robot. To prevent it, the instruction to the robotcontrolled by the control unit in the master function execution mode istransmitted while being delayed by the communication delay time (tb-ta)of the control unit in the slave function execution mode. Thereby, thedelay of the operation of the slave robot for the master robot isprevented without changing the setting of the whole system, and therobots are synchronized with each other with high precision, thereby canbe operated cooperatively.

Further, it is preferable that in the cooperative operation, when thecontrol unit set to the slave function execution mode inputs theoperation instruction from the input means, the operation instruction isinput to the control unit set to the master function execution mode andthe control unit set to the master function execution mode executes thecontrol operation in response to the operation instruction input via thecommunication connection means.

The control unit in the slave function execution mode, when theoperation instruction is input from the input means, the operationinstruction is input to the control unit in the master functionexecution mode via the communication connection means. The control unitin the master function execution mode executes the control operation inresponse to the operation instruction input via the communicationconnection means and in this way, by input of the operation instructionfrom the slave side control unit, the master robot can be controlled.Therefore, an operator inputs the operation instruction not only fromthe master side control unit but also from the slave side control unit,can set the operation of the master robot installed in a location awayfrom the slave robot. Accordingly, the operator can operate the wholecooperative control system from a desired location of the user, thus theoperational convenience is improved.

Further, it is preferable that the control units are respectivelyequipped with input/output units and during the cooperative operation,in the control unit set to the master function execution mode and thecontrol unit set to the slave function execution mode among theplurality of control units, the control unit set to the master functionexecution mode, via the communication connection means, inputs andoutputs signals using the input/output unit of the control unit set tothe slave function execution mode.

Generally, when each robot is to be independently operated, theinput/output (IO) unit used to operate an external device such as an endeffector is controlled by the program operated by each control unit insynchronization with the robot.

On the other hand, during the cooperative operation, by the programoperated by the master control unit, the operations of both master andslave robots are controlled. In this case, the master input/output unitcan be controlled by the program operated by the master control unit insynchronization with the operation of the robot. However, the slaveinput/output unit cannot be controlled in synchronization with theoperation of the robot since the program is not operated by the slavecontrol unit.

To solve this problem, conventionally, the peripheral device to becontrolled by the slave input/output unit is controlled by the masterinput/output unit.

However, in this conventional method, a problem arises that the signalwire is complicated. Furthermore, when the slave robot is to beindependently used, a problem arises that the input/output unit cannotbe controlled only by the program of the slave control unit.

Therefore, in the present invention, in the program executed by themaster control unit during the cooperative operation, a command for theinput/output unit of the slave robot is described, and the command istransferred to the slave control unit by communication, and the slavecontrol unit executes it, thereby controls the slave input/output unit.Namely, in the present invention, the operation of an external devicesuch as an end effector connected to the robot controlled by the slavecontrol unit is performed using the input/output (IO) unit of the slavecontrol means. By doing this, without using the aforementionedconventional method, during the cooperative operation, the master andslave input/output units can be controlled.

Further, it is preferable that the control units respectively have anemergency stop means for stopping the cooperative operation of eachcontrol unit during the cooperative operation, and an emergency stopsignal generated from any one of the emergency stop means is input tothe control means equipped with the emergency stop means generating theemergency stop signal, and it is simultaneously input to the residualcontrol means via the communication connection means to stop theoperations of all the robots.

Since the control units are equipped with the emergency stop means, evenwhen an error is generated in the robot at any location, a part of orall of the robots can be stopped in case of emergency, thus the safetyis improved.

Further, it is preferable that each control unit is provided with acoordinate system of each robot, and at the tip of the arm of eachrobot, a positioning tool whose size is known is removably installed,and the tips of the positioning tools of the robots which are mutuallyneighboring are put opposite each other at least at three points so asto be arranged at the same position, thus a coordinate transformationmatrix for each robot is obtained, and the cooperative operation isexecuted using this coordinate transformation matrix.

Since the cooperative operation is performed on the basis of a virtualframe connecting the three common points set in the master coordinatesystem, in each control unit, for the position and posture of each robotand additionally variations in the position and posture, the relativeposition of each robot can be always recognized precisely on the commoncoordinate system, and among the robots, even if any robot is set as amaster robot and any robots are set as slave robots, the cooperativeoperation can be controlled in one coordinate system with highprecision.

Further, in the cooperative operation, the relative position of therobot set to the slave function execution mode to the robot set to themaster function execution mode is preferably interpolated so as to meetthe relative position relationship at the taught operation start pointand the relative position relationship at the taught operation endpoint.

In the relative position relationship between the master and slaverobots, even if there exists a cause of variations in the relativeposition such as when the master robot and slave robot are shiftedbetween the actual relative position relationship and the set relativeposition transformation matrix, when the tool size is in error, when therobot link length is varied, the installation accuracy itself to thereference position of each robot which is called zeroing accuracy isvaried, or when by the effect of the deflection of the robot arm due toa load, even if the relative position and posture relationship iscontrolled so as to keep constant, the actual position and posturerelationship cannot be kept constant, in addition to the robot reachingposition set to the master function execution mode as mentioned above,the position of the robot set to the slave function execution mode isalso taught, thus by changing the relative position and posture, theslave robot can be cooperatively operated by following the master robot.By doing this, variations in the relative position and posture of themaster and slave robots are prevented from increasing in the course oftime, and the relative position and posture relationship is kept withhigh precision, thus a predetermined operation can be executedcontinuously.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a system diagram showing the whole constitution of the robotcooperative control system 20 of an embodiment of the present invention,

FIG. 2 is a block diagram showing the constitution of the control unitsCa and Cb,

FIG. 3 is a block diagram showing the constitution on the software ofthe control units Ca and Cb,

FIG. 4 is a simplified block diagram showing the constitution of thesoftware program for synchronizing the control units Ca and Cb,

FIG. 5 is a drawing for explaining the procedure of measuring andsetting the relative position between the robots Ra and Rb,

FIG. 6 is a side view showing the facing tool 90 used to measure and setthe relative position between the robots Ra and Rb,

FIG. 7 is a drawing for explaining the calibration procedure for thecoordinate system between the robots Ra and Rb by putting three pointsopposite each other,

FIG. 8 is a drawing for explaining the calculation method for theoperation halfway point Si of the slave robot corresponding to theoperation halfway point Mi of the master robot,

FIG. 9 is a perspective view showing the movement paths of the tips 94 aand 94 b of the arms of the robots Ra and Rb for explaining the teachingprocedure for the cooperative operation parts,

FIG. 10 is a drawing showing an example of the cooperative operationprogram for cooperatively operating the master robot and slave robot incorrespondence to the teaching points shown in FIG. 9,

FIG. 11 is a block diagram showing a part of the constitution on thesoftware program for synchronizing the control units of the master robotand slave robot of the robot cooperative control system of theconventional art, and

FIG. 12 is a block diagram for explaining the method on the softwareprogram for synchronizing the control units by the interruption methodused in the cooperative control system of another conventional art.

BEST MODE FOR CARRYING OUT THE INVENTION

The robot cooperative control system (hereinafter, may be abbreviatedjust to “cooperative control system”) as an embodiment of the presentinvention shown in FIG. 1 includes a plurality of robots Ra and Rb (2units in this embodiment), two control units Ca and Cb for independentlycontrolling the robots Ra and Rb mutually and individually, and acommunication connection means 21 for mutually connecting the controlunits Ca and Cb communicatably.

The robots Ra and Rb, as described as an example, are respectivelyrealized by a 6-axis multi-joint robot in which a rotator 24 isinstalled on a base 23 installed on an almost horizontal floor 22 on apredetermined working stage in a factory at an interval, and on therotator 24, a plurality of arms 25, 26, and 27 are installedangle-changeably round the axes, and a wrist 28 is installed on the tipof the arm on the free end side, and on the wrist 28, a hand 30 forremovably holding a workpiece 29 is installed.

The control units Ca and Cb called robot controllers are connected toeach other by the communication connection means 21, and constitute acommunication network. The control units Ca and Cb have control unitbodies 33 a and 33 b respectively connected to the robots Ra and Tb bylines 31 a and 31 b and teaching input means 37 a and 37 b respectivelyconnected to the control unit bodies 33 a and 33 b by lines 35 a and 35b.

The communication connection means 21 is realized, for example, byEthernet. In this embodiment, Ethernet is referred to as a LAN (localarea network) which is standardized as IEEE802.3 and ISO8802-3 by theUSA Institute of Electrical and Electronic Engineers (abbreviated toIEEE) and International Organization for Standardization (abbreviated toIOS).

FIG. 2 is a block diagram showing the constitution of the control unitsCa and Cb. The control units Ca and Cb include servo driving means 41 aand 41 b respectively installed on the robots Ra and Rb for drivingservo motors not shown in the drawing, power sequence circuits 42 a and42 b, operation panels 43 a and 43 b for inputting an operationinstruction to the robots Ra and Rb, control means 44 a and 44 brealized by a central processing unit (abbreviated to CPU), memories 45a and 45 b, the aforementioned teaching input means 37 a and 37 b,interface circuits 46 a and 46 b for the teaching input means, interfacecircuits for personal computers 47 a and 47 b (hereinafter, abbreviatedto “PC interface circuits”), signal input/output circuits 48 a and 48 b,and communication control means 49 a and 49 b. To the interface circuits47 a and 47 b for remote control units, personal computers (hereinafter,may be abbreviated to “PC”) 53 a and 53 b are connected.

The power sequence circuits 42 a and 42 b, the memories 45 a and 45 b,the interface circuits 46 a and 46 b for the teaching input means, theinterface circuits 47 a and 47 b for PCs, the signal input/outputcircuits 48 a and 48 b, and the communication control means 49 a and 49b are mutually connected by bus lines 50 a and 50 b. On the operationpanels 43 a and 43 b, stop switches SW1 and SW2 for inputting a stopinstruction for stopping the operation of the robots Ra and Rb andemergency stop switches SW5 and SW6 are installed. Further, to thesignal input/output circuits 48 a and 48 b, hand On-Off detectionswitches SW3 and SW4 are connected.

The communication connection means 21 includes a hub 51, thecommunication control means 49 a and 49 b installed on the control unitsCa and Cb, and communication cables 52 a and 52 b. The communicationcables 52 a and 52 b respectively connect the communication controlmeans 49 a and 49 b and the hub 51 to form a communication network.

FIG. 3 is a block diagram showing the constitution on the software ofthe control units Ca and Cb. The control units Ca and Cb, to execute theprograms respectively stored in the memories 45 a and 45 b, includeprogram storage units 61 a and 61 b, program execution andinterpretation units 62 a and 62 b, slave instruction value generationunits 63 a and 73 b, operation instruction value generation units 64 aand 64 b, instruction value transmission units 65 a and 65 b,instruction value delay units 66 a and 66 b, instruction value receptionunits 67 a and 67 b, interruption processing units 68 a and 68 b, clockgeneration units 69 a and 69 b, and signal path switching units 71 a and71 b.

The control units Ca and Cb are respectively set to any of theindependent function execution mode, master function execution mode, andslave function execution mode by the programs stored in the memories 45a and 45 b and when either of the two control units Ca and Cb is set tothe master function execution mode, the other of the two control unitsCa and Cb is set to the slave function execution mode, thus the robotsRa and Rb controlled by the control units Ca and Cb can be cooperativelyoperated.

FIG. 4 is a drawing for explaining the synchronizing function of thecontrol units Ca and Cb. The control units Ca and Cb have a similarsynchronizing function and for convenience, in the followingexplanation, the control unit Ca on one side set to the master functionexecution mode is assumed as a transmission side and the control unit Cbon the other side set to the slave function execution mode is assumed asa reception side. An instruction signal transmitted from the controlunit Ca on one side at each time of ta1, ta2, ta3, . . . is received bythe control unit Cb on the other side via the communication connectionmeans 21 in time series at each time of (tb0+Δt1), (tb1+Δt2), (tb2+Δt3),. . . after a lapse of a predetermined time of Δt1, Δt2, Δt3, . . . fromthe preceding control time of tb0, tb1, tb2, . . . to the slave robotRb.

In this transmission of the operation instruction from the master sidecontrol unit Ca to the slave side control unit Cb via the communicationconnection means 21, there exist a first communication delay time of thereception time of (tb0+Δt1), (tb1+Δt2), (tb2+Δt3), . . . from thetransmission time of ta1, ta2, ta3, . . . caused by a fine error of theoscillation frequency due to the individual difference between thecrystal oscillators built in the control means 44 a and 44 b(abbreviated to CPU) of the control units Ca and Cb and a secondcommunication delay time by the communication delay time due to via thecommunication connection means 21 and by a time lag from the receptiontime of (tb0+Δt1), (tb1+Δt2), (tb2+Δt3), . . . of the operationinstructions 1, 2, 3, . . . from the master side control unit Ca by theslave side control unit Cb to the control time of tb1, tb2, tb3, . . .for starting the control of the slave robot Rb. Therefore, variations ofthe operation of the master robot Rb controlled by the control unit Cbon the other side from the operation of the master robot Ra controlledby the control unit Ca on one side are caused and the variations of therelative position between the robots Ra and Rb at the same time cannotbe ignored from the viewpoint of working accuracy.

With respect to the first communication delay time, in FIG. 4, when themaster side (transmission side) control unit Ca transmits theinstruction 1 at the transmission time ta1, the transmitted instruction1 is received by the slave side (reception side) control unit Cb at thereception time (tb0+Δt1). The reception time (tb0+Δt1) is the time whena predetermined time of Δt1 elapses from the preceding control time tb0for the robot Rb to be controlled by the slave side control unit Cb andthe instruction 1 is received at the oscillation time of the timingsignal at the fourth count of the minimum interruption period Ts (b) ofthe slave side control unit Cb.

Next, at the time ta2 after lapse of one control period, the master sidecontrol unit Ca transmits the instruction 2 and the instruction 2 isreceived by the slave side control unit Cb at the next reception time(tb1+Δt2). However, as mentioned above, between the crystal oscillatorbuilt in the control means 44 b of the slave side control unit Cb andthe crystal oscillator built in the control means 44 a of the masterside control unit Ca, there exists a fine error of the oscillationfrequency due to the individual difference between the crystaloscillators for each CPU, so that the instruction 2 reaching between thefirst count and the second count of the minimum interruption period Ts(b) is received at the time (tb1+Δt2) at the second count from thepreceding control time tb1. When the instruction 2 is received at lessthan the third count of the timing signal from the preceding controltime tb1 like this, the reception side control unit Cb shortens its ownminimum interruption period Ts(b) to control the reception time(tb1+Δt2) between the third count and the fifth count.

Further, the instruction 3 transmitted at the time ta3 by the masterside control unit Ca reaches the slave side control unit Cb between thefifth count and the sixth count from the preceding control time tb2, sothat the instruction 3 is received at the sixth count and the slave sidecontrol unit Cb controls the slave robot Rb at the control time tb3.Therefore, the slave side control unit Cb prolongs its own minimuminterruption period Ts (b) and controls the reception time (tb2+Δt3) tobe set between the third count and the fifth count from the precedingcontrol time tb2.

By doing this, the time (tb1−ta0), (tb2−ta1), (tb3−ta2), . . . from thetime of ta1, ta2, ta3, . . . when the instructions 1, 2, 3, . . . aretransmitted from the master side control unit Ca to the time tb1, tb2,tb3, . . . when the instructions are received by the slave side controlunit Cb and the slave side control unit Cb starts controlling its ownrobot Ra is prevented from exceeding the control period W of the slaveside control unit Cb. By doing this, the slave side control unit Cbreceives a plurality of operation instructions from the master sidecontrol unit Ca within one control period W of the slave side controlunit Cb, or an occurrence of a failure that the operation instructionsare not received within one control period W is surely prevented, andthe master robot and slave robot can be operated cooperatively with highprecision.

Furthermore, to perfectly synchronize the master side control unit Cawith the slave side control unit Cb, it is necessary to cancel thesecond communication delay time by the communication delay time due tovia the communication connection means 21 and by the time lag from thereception time of (tb0+Δt1), (tb1+Δt2), (tb2+Δt3), . . . of theoperation instructions 1, 2, 3, . . . from the master side control unitCa by the slave side control unit Cb to the control time of tb1, tb2,tb3, . . . for starting the control of the slave robot Rb. Therefore, tocancel the first communication delay, when the n times of the minimuminterruption period Ts(b) of the slave side (or reception side) controlunit Cb controlled as mentioned above is equivalent to the controlperiod W, the master side control time of ta11, ta12, ta13, . . . mustcoincide with the slave side control time of tb1, tb2, tb3, . . . .Therefore, the master side control unit Ca, by the instruction valuedelay unit 66 a, delays the control time of ta11, ta12, ta13, . . . toits own robot Ra generated by the operation instruction value generationunit 64 a by a predetermined time T from the transmission time ta1, ta2,ta3,

FIG. 5 is a drawing for explaining the procedure of measuring andsetting the relative position between the robots Ra and Rb and FIG. 6 isa side view showing the facing tool 90 used to measure and set therelative position between the robots Ra and Rb. To cooperatively operatethe robots Ra and Rb by maintaining the relative position relationshipbetween the robots Ra and Rb, it is necessary to measure the relativeposition relationship between the robots Ra and Rb and register the datain both the control units Ca and Cb and the procedure will be explainedbelow.

To measure and set the relative position between the robots Ra and Rb,on the wrists 28 of the robots Ra and Rb, the facing tools 90 shown inFIG. 6 are respectively installed. Each facing tool 90 has a circularflange 91 removably attached to the wrist 28 by a screw member such as abolt and a rod 92 having a circular section which is fixedperpendicularly onto the center axial line of the flange 91. The tip ofthe rod 92 is formed in a tapered shape and more concretely, formed in aconical shape.

In each facing tool 90, the length L from a surface 93 in contact withthe wrist 28 of the flange 91 to a tip 94 of the rod 92 must be foundaccurately. The length L is selected as a length between which therobots Ra and Rb can be put opposite each other. Further, the facingtool 90 is structured so as to fix the rod 92 to the circular flange 91perpendicularly to the center axial line, so that when the tips 94 areput opposite each other, the other parts are not interfered with eachother and are prevented from interfering with the circumference.Furthermore, the tips 94 of the rods 92 are tapered, so that they can beeasily put opposite each other, and in the state that they are putopposite each other, they are not easily shifted, and in the shiftedstate, they enter the no-contact state, and the state is clearlyrecognized, thus they can be precisely put opposite each other.

FIG. 7 is a drawing for explaining the calibration procedure for thecoordinate system between the robots Ra and Rb by putting three pointsopposite each other. A calculation method for the relative positionbetween the robots Ra and Rb which are put opposite each other at threepoints will be explained below. The base coordinate system ΣBaseBconcerning the origin Ob of the robot Rb on the other side is defined asa transformation matrix T_(AB) for transforming to the base coordinatesystemΣBaseA of the robot Ra on one side. Here, the transformationmatrix T_(AB) is assumed as the following concurrent transformationmatrix. $\begin{matrix}{T_{AB} = {\begin{bmatrix}n & o & a & p \\0 & 0 & 0 & 1\end{bmatrix} = \begin{bmatrix}n_{1} & o_{1} & a_{1} & p_{1} \\n_{2} & o_{2} & a_{2} & p_{2} \\n_{3} & o_{3} & a_{3} & p_{3} \\0 & 0 & 0 & 1\end{bmatrix}}} & (1)\end{matrix}$

On a straight line, optional three points are put opposite each otherand the position at the tool tip point of the robot Ra in the basecoordinate systemΣBaseA of the robot Ra which is obtained by the aboveoperation and the position at the tool tip point of the robot Rb in thebase coordinate systemΣBaseB of the robot Rb are assumed respectively aspoints (P_(A), P_(B)), point (Q_(A), Q_(B)), and point (R_(A), R_(B)).

Next, the point P_(A) is assumed as an origin, and the line segmentextending from the point P_(A) to the point Q_(A) is assumed as apositive direction of the axis X, and the frame in the base coordinatesystemΣBaseA of the robot Ra including the point R_(A) in the plane XY(Y>0) is assumed as F_(A). $\begin{matrix}{{F_{A} = \begin{bmatrix}n_{A} & o_{A} & a_{A} & p_{A} \\0 & 0 & 0 & 1\end{bmatrix}}{{where}:}} & (2) \\{n_{A} = {{\overset{\rightharpoonup}{Q_{A}Q_{A}} - {\overset{\rightharpoonup}{P_{A}Q_{A}}/}}❘{{\overset{\rightharpoonup}{Q_{A}Q_{A}} - \overset{\rightharpoonup}{P_{A}O_{A}}}❘\quad\left( {{unit}\quad{vector}} \right)}}} & (3) \\{a_{A} = {{n_{A} \times {\left( {\overset{\rightharpoonup}{R_{A}O_{A}} - \overset{\rightharpoonup}{P_{A}O_{A}}} \right)/}}❘{{n_{A} \times \left( {\overset{\rightharpoonup}{R_{A}O_{A}} - \overset{\rightharpoonup}{P_{A}O_{A}}} \right)}❘\quad\left( \quad{{unit}\quad{vector}} \right)}}} & (4) \\{O_{A} = {a_{A} \times n_{A}}} & (5) \\{p_{A} = \overset{\rightharpoonup}{P_{A}O_{A}}} & (6)\end{matrix}$

Similarly, the point P_(B) is assumed as an origin, and the line segmentextending from the point PB to the point Q_(B) is assumed as a positivedirection of the axis X, and the frame in the base coordinatesystemΣBaseA of the robot Ra including the point R_(B) in the plane XY(Y>0) is assumed as F_(B). $\begin{matrix}{{F_{B} = \begin{bmatrix}n_{B} & o_{B} & a_{B} & p_{B} \\0 & 0 & 0 & 1\end{bmatrix}}{{where}:}} & (7) \\{n_{B} = {{\overset{\rightharpoonup}{Q_{B}O_{B}} - {\overset{\rightharpoonup}{P_{B}Q_{B}}/}}❘{{\overset{\rightharpoonup}{Q_{B}O_{B}} - \overset{\rightharpoonup}{P_{B}O_{B}}}❘\quad\left( {{unit}\quad{vector}} \right)}}} & (8) \\{a_{B} = {{n_{B} \times {\left( {\overset{\rightharpoonup}{R_{B}O_{B}} - \overset{\rightharpoonup}{P_{B}O_{B}}} \right)/}}❘{{n_{B} \times \left( {\overset{\rightharpoonup}{R_{B}O_{B}} - \overset{\rightharpoonup}{P_{B}O_{B}}} \right)}❘\quad\left( {{unit}\quad{vector}} \right)}}} & (9) \\{O_{B} = {a_{B} \times n_{B}}} & (10) \\{p_{B} = \overset{\rightharpoonup}{P_{B}O_{B}}} & (11)\end{matrix}$

At this time, the following formula is held between the frames F_(A) andF_(B) and the transformation matrix T_(AB).F_(A)=T_(AB)F_(B)   (12)

Therefore, the transformation matrix T_(AB) is obtained by the followingformula.T _(AB) =F _(A) −F _(B) ⁻¹   (13)

This transformation matrix T_(AB) is described in the programs stored inthe memories 45 a and 45 b of the control units Ca and Cb as a functionfor performing the coordinate transformation from the self (accompanyingcharacter A) to the opposite (accompanying character B).

FIG. 8 is a drawing for explaining the calculation method for theoperation halfway point Si of the slave robot corresponding to theoperation halfway point Mi of the master robot. Firstly, when the robotRa on one side is assumed as a master robot and the robot Rb on theother side is assumed as a slave robot, it is assumed that in the commoncoordinate system Σ0 of the master robot and slave robot, the operationstart point of the master robot Ra is taught at Ms and the operation endpoint is taught at Me and in the common coordinate system Σ0, theoperation start point of the slave robot Rb is taught at Ss and theoperation end point is taught at Se. When the master robot Ra moves fromthe teaching point Ms to the teaching point Me, the operationintermediate point Si of the robot Rb corresponding to the operationintermediate point Mi of the master robot Ra is obtained.

The operation halfway point Mi of the master robot Ra is obtained usingthe parameter s. The value of the parameter s is assumed that when S=1,the master robot Ra reaches the operation start point Ms and when S=0.0,the master robot Ra reaches the operation end point Me. Further, theparameter s when the master robot Ra is at the operation halfway pointMi is indicated by si and the operation halfway point of the slave robotRb at this time is assumed as Si. The transformation matrix from theoperation start point Ms of the master robot Ra to the operation startpoint Ss of the slave robot Rb is assumed as T_(AB)(s), and thetransformation matrix from the operation end point Me of the masterrobot Ra to the operation end point of the slave robot Rb is assumed asT_(AB)(e), and they are expressed by the following formulas.T _(AB)(s)=Ss.Ms ⁻¹   (14)T _(AB)(e)=Se.Me ⁻¹   (15)

Further, when the transformation matrixes T_(AB)(s) and T_(AB)(e) are tobe expressed by an XYZ Euler angle, T_(AB)(s) is assumed as (Xs, Ys, Zs,Os, As, Ts), and T_(AB)(e) is assumed as (Xe, Ye, Ze, Oe, Ae, Te), andthe Euler angle expressions of the transformation matrix Ti for theoperation halfway point Mi of the master robot Ra are obtained from thefollowing formulas.Xi=Xe−(Xe−Xs).s   (16)Yi=Ye−(Ye−Ys).s   (17)Zi=Ze−(Ze−Zs).s   (18)Oi=Oe−(Oe−Os).s   (19)Ai=Ae−(Ae−As).s   (20)Ti=Te−(Te−Ts).s   (21)

These formulas 14 to 19 are expressed as transformation matrix Ti andthe operation halfway point Si of the slave robot Rb for the operationhalfway point Mi of the master robot Ra is obtained by the followingformula.Si=Ti.Mi   (22)

Such a relational formula of the operation halfway point Si of the slaverobot Rb for the operation halfway point Mi of the master robot Ra isstored in the memories 45 a and 45 b of the control units Ca and Cb as aprogram and as described later, the system is structured so as tooptionally set a master robot and a slave robot among the robots Ra andRb and cooperatively operate them.

FIG. 9 is a perspective view showing the movement paths of the tips 94 aand 94 b of the arms of the robots Ra and Rb for explaining the teachingprocedure for the cooperative operation parts. In the drawing, the solidlines indicate the movement paths of the tip 94 a of the arm of themaster robot and the dashed lines indicate the movement paths of the tip94 b of the arm of the slave robot. FIG. 10 is a drawing showing anexample of the cooperative operation program for cooperatively operatingthe master robot and slave robot in correspondence to the teachingpoints shown in FIG. 9.

Next, the programs for the respective cooperative operations areprepared and the positions thereof are taught. The programs to beprepared include the program “.PROGRAM master( )” executed by the robotRa on one side and the program “.PROGRAM slave( )” executed by the robotRb on the other side.

The program “.PROGRAM master( )” set in the robot Ra on one side has 1to 20 steps and the system is structured as indicated below so that theoperations from the operation target position Pm0 to the operation endposition Pa10 via the target positions Pm1 to Pm9 which are indicated bythe solid lines are performed by the robot Ra on one side.

Firstly, Step 1 is an operation command for moving the axes of the robotRa on one side to the operation start position Pm0 and “JMOVE #1c1 #0”is input. “JOMVE” indicates a command for moving the robot to thedesignated target position in the interpolation operation of each axis.“#1c1” indicates a variable name instructing the operation targetposition Pm0.

Step 2 is a command for moving the robot Ra on one side from theoperation start position Pm0 to the next target position Pm1 and “JMOVE#1c1#1” is input. “JMOVE” indicates a reserved word for instructing thelinear operation and “#1c1#1” indicates a variable name instructing theoperation target position Pm1.

Step 3 is a command for closing the hand 30 at the position Pm1designated at Step 2 and “CLOSE” is described. The aforementioned is theprogram of the independent operation of the master robot Ra.

Next, Step 4 is a command for declaring the cooperative operation and“MASTER” is described. By this command, the robot Ra on one side is setto a master robot, and slave is declared by the robot Rb on the otherside, and the cooperative operation is started. The control unit Ca inthe master function execution mode transmits the instruction and untilthe control unit Cb in the slave function execution mode receives it, adelay due to communication is caused. However, the minimum interruptionperiod Ts(b) of the control unit Cb in the slave function executionmode, when the instruction from the control unit Ca in the masterfunction execution mode is input to the control unit Cb in the slavefunction execution mode, for example, within the third count asmentioned above, is shortened, and when it is input more than the fifthcount, the minimum interruption period Ts (b) is prolonged, and theinstruction is transmitted while being delayed from the control timeta11, ta12, ta13, . . . to the own master robot Ra of the control unitCa in the master function execution mode by a predetermined time T, thusthe operation of the slave robot Rb for the master robot Ra is preventedfrom being delayed, and the robots are synchronized with each other withhigh precision, and the cooperative operation can be performed.

Step 5 is a command for closing the hand 30 of the master robot Ra and“SIGNAL 2” is described.

Step 6 is a command for closing the hand 30 of the slave robot Rb and“SIGNAL 2:2” is described.

Step 7 is a command for cooperatively operating the robots Ra and Rb andmoving them to the next target positions Pm2 and Ps2 and “MLLMOVE#1c2#2,#1c2#2” is described.

Step 8 is a command for moving the robots Ra and Rb to the next targetpositions Pm3 and Ps3 and “MLLMOVE #1c1#3,#1c2#3” is described.

Step 9 is a command for waiting the master robot Ra until it satisfiesthe next instruction and “SWAIT 1001” is described.

Step 10 is a command for waiting the slave robot Rb until the nextinstruction is input to the input/output circuit 48 b and “SWAI 2:1001”is described.

Step 11 is a command for moving the robots Ra and Rb to the next targetpositions Pm4 and Ps4 and “MLC1MOVE #1c1 #4,#1c2#4” is described.

Step 12 is a command for moving the robots Ra and Rb to the next targetpositions Pm5 and Ps5 and “MLC1MOVE #1c1#5,#1c2#5” is described.

Step 13 is a command for moving the robots Ra and Rb to the next targetpositions Pm6 and Ps6 and “MLC2MOVE #1c1#6,#1c2#6” is described.

Step 14 is a command for moving the robots Ra and Rb to the next targetpositions Pm7 and Ps7 and “MLLMOVE #1c1 #7,#1c2#7” is described.

Step 15 is a command for moving the robots Ra and Rb to the next targetpositions Pm8 and Ps8 and “MLLMOVE #1c1 #8,#1c2#8” is described.

Step 16 is a command for canceling the cooperative operation of themaster robot Ra and “ALONE” is described.

Step 17 is a command for opening the hand 30 of the robot Ra on one sideand “OPEN” is described.

Step 18 is a command for waiting the robot Ra on one side until thetimer satisfies the state instructed by a variable name of “1002” and“SWAIT 1002” is described.

Step 19 is a command for linearly moving the robot Ra on one side to thetarget position Pm9 instructed by a variable name of “#1c1#9” and “LMOVE#1c1 #9” is described.

Step 20 is a command for moving the robot Ra on one side to theoperation end position Pm10 and “HOME” is described.

Next, the program set to the robot Rb on the other side will beexplained. The program “.PROGRAM slave( )” for the robot Rb on the otherside has 1 to 10 steps and the system is structured as indicated belowso that the operations from the operation target position Ps0 to theoperation end position Ps10 via the target positions Ps1 to Ps9 whichare indicated by the dashed lines are performed by the slave robot Rb.

Firstly, Step 1 is an operation command for moving the axes of the robotRb on the other side to the operation target position Ps0 and “JMOVE#1c1 #0” is input. “JOMVE” indicates a command for moving the robot tothe designated position in the interpolation operation. “#1c1 #0”indicates coordinates of the operation target position Ps0.

Step 2 is a command for moving the robot Rb on the other side from theoperation start position Ps0 to the next position Ps1 and “JMOVE #1c1#1”is described. “JMOVE” indicates a linear operation command and “#1c1#1”indicates coordinates of the next position Ps1.

Step 3 is a command for closing the hand 30 at the position Ps1designated at Step 2 and “CLOSE” is described. The aforementioned is theprogram of the independent operation of the slave robot.

Next, Step 4 is a command for waiting the robot Rb on the other sideuntil it satisfies the condition instructed by a variable name of “1002”and “SWAIT 1002” is described.

Step 5 is a command for declaring that the robot operates as a slaverobot and “SLAVE” is described. At the time of execution of thisprogram, the slave robot Rb performs the cooperative operation inresponse to the commands at Steps 5 to 15 from the master robot Ra.During the cooperative operation, as mentioned above, the robot Rb onthe other side is connected to the robot Ra on one side by the networkcommunication connection means 21, so that the robots Ra and Rb can beprecisely synchronized with each other and cooperatively operated bycorrecting variations in the control period.

Step 6 is a command for declaring that the cooperative operation iscanceled and the operation is returned to the independent operation and“ALONE” is described.

Step 7 is a command for opening the hand 30 of the robot Rb on the otherside and “OPEN” is described.

Step 8 is a command for setting individually instructions for both themaster robot Ra and slave robot Rb and “SIGNAL 2” is described.

Step 9 is a command for moving the robot Rb on the other side to thetarget position Ps9 instructed by a variable name of “#1c2#9” and “LMOVE#1c2#9” is described.

Step 10 is a command for moving the robot Rb on the other side to theoperation end position Ps10 and “HOME” is described.

Among a series of operations executed by the robots in this way, withrespect to the process of the cooperative operation, the robots arerespectively set to a master robot and a slave robot, mutuallycommunicated via the communication connection means, synchronized witheach other with high precision, thereby can be operated cooperatively.

Further, when the control unit Cb in the slave function execution modeinputs an operation instruction from the input means, the operationinstruction is input to the control unit Ca in the master functionexecution mode via the communication connection means. The control unitCa in the master function execution mode executes the control operationin response to the input operation instruction, thus by input of theoperation instruction from the slave side control unit Cb, the masterrobot Ra can be controlled. Therefore, an operator inputs the operationinstruction not only from the master side control unit Ca but also fromthe slave side control unit Cb, can set the operation of the masterrobot Ra installed in a location away from the slave robot Rb, therebycan operate the whole cooperative control system from a location desiredby him, thus the operational convenience is improved.

Furthermore, an external device such as an end effector connected to therobot Ra controlled by the control unit Cb in the slave functionexecution mode is operated using the input/output (IO) circuit of thecontrol unit Cb set to the slave function execution mode. Thecooperative operation is performed by the operation command of theprogram stored in the memory 45 a on the master robot side, so that theexternal device connected to the slave robot Rb is controlled using theinput/output circuit 48 a installed in the control unit Ca of the masterrobot Ra, thus the signal wiring is complicated, and when the slaverobot Rb is to be used independently, it is affected by a signal of themaster robot Ra. Such a failure, when the master robot Ra uses theinput/output circuit 48 a of the control unit Cb on the slave side asmentioned above, can be avoided.

In the aforementioned embodiment, the constitution that the two controlunits Ca and Cb individually installed in the two robots Ra and Rb areconnected by the communication connection means 21 is described.However, in another embodiment of the present invention, even to aconstitution that control units individually installed in three or morerobots are connected by a communication connection means tocooperatively control, the present invention can be suitably executedand the control units can be synchronized with each other with highprecision and can be operated cooperatively.

1. (cancelled)
 2. A cooperative control system of robots comprising: aplurality of control units for controlling individually respectiveoperations of a plurality of robots in synchronization with a timingsignal generated in a predetermined minimum interruption period,communication connection means communicatably connecting said controlunits to each other to constitute a network, input means which arerespectively installed in said control units and input operationinstructions of said robots, storage means which are respectivelyinstalled in said control units and store programs for-operating saidrobots in response to said operation instructions of said robots, andtiming signal generation means which are respectively installed in saidcontrol units and generate timing signals in said minimum interruptionperiod, wherein: said control units can execute selectively at least oneof an independent function execution mode, a master function executionmode, and a slave function execution mode by said programs stored insaid storage means, when one of said plurality of control units is setto said master function execution mode by execution of said programs, atleast one of residual control units excluding said control unit which isset to said master function execution mode among said plurality ofcontrol units is set to said slave function execution mode for executinga slave operation by execution of said programs, and a master robotcontrolled by said control unit set to said master function executionmode and a slave robot controlled by said control unit set to said slavefunction execution mode are cooperatively operated, wherein said controlunit set to said slave function execution mode changes said minimuminterruption period (Ts(b)) of said control unit set to said slavefunction execution mode so as to make a communication delay time (tb-ta)from a time (ta) when said control unit set to said master functionexecution mode transmits an operation instruction to a time (tb) whensaid control unit set to said slave function execution mode receivessaid operation instruction and starts controlling its own robot equal toa predetermined time (T).
 3. A cooperative control system of robotsaccording to claim 2, wherein said predetermined time (T) is selected toless than a control period (W) of each control unit.
 4. A cooperativecontrol system of robots according to claim 3, wherein said control unitset to said master function execution mode transmits an instruction toits own robot while being delayed by said communication delay time(tb-ta) for said control unit set to said slave function execution mode.5. A cooperative control system of robots according to any one of claims2 to 4, wherein in a cooperative operation, when said control unit setto said slave function execution mode is input said operationinstruction from said input means, said operation instruction is inputto said control unit set to said master function execution mode via saidcommunication connection means, and said control unit set to said masterfunction execution mode executes said control operation in response tosaid operation instruction input via said communication connectionmeans.
 6. A cooperative control system of robots according to any one ofclaims 2 to 5, wherein said control units are respectively equipped withinput/output units and during a cooperative operation, in said controlunit set to said master function execution mode and said control unitset to said slave function execution mode among said plurality ofcontrol units, said control unit set to said master function executionmode, via said communication connection means, inputs and outputssignals using said input/output unit of said control unit set to saidslave function execution mode.
 7. A cooperative control system of robotsaccording to any one of claims 2 to 6, wherein said control unitsrespectively have emergency stop means for stopping a cooperativeoperation of each control unit during said cooperative operation, and anemergency stop signal generated from any one of said emergency stopmeans is input to control means equipped with said emergency stop meansgenerating said emergency stop signal and is simultaneously input toresidual control means via said communication connection means to stopoperations of all said robots.
 8. A cooperative control system of robotsaccording to any one of claims 2 to 7, wherein each control unit isprovided with a coordinate system of each robot, and a positioning toolwhose size is known is removably installed at a tip of an arm of eachrobot, and tips of positioning tools of said robots which are mutuallyneighboring are put opposite each other at least at three points so asto be arranged at a same position, thus a coordinate transformationmatrix for each robot is obtained, and a cooperative operation isexecuted using said coordinate transformation matrix.
 9. A cooperativecontrol system of robots according to claim 8, wherein in saidcooperative operation, a relative position of said robot set to saidslave function execution mode to said robot set to said master functionexecution mode is interpolated so as to meet a relative positionrelationship at a taught operation start point and a relative positionrelationship at a taught operation end point.
 10. A cooperative controlsystem of robots comprising: a plurality of control units forcontrolling individually respective operations of a plurality of robotsin synchronization with a timing signal generated in a predeterminedminimum interruption period, communication connection meanscommunicatably connecting said control units to each other to constitutea network, input means which are respectively installed in said controlunits and input operation instructions of said robots, storage meanswhich are respectively installed in said control units and storeprograms for operating said robots in response to said operationinstructions of said robots, and timing signal generation means whichare respectively installed in said control units and generate timingsignals in said minimum interruption period, wherein: said control unitscan execute selectively at least one of an independent functionexecution mode, a master function execution mode, and a slave functionexecution mode by said programs stored in said storage means, when oneof said plurality of control units is set to said master functionexecution mode by execution of said programs, at least one of residualcontrol units excluding said control unit which is set to said masterfunction execution mode among said plurality of control units is set tosaid slave function execution mode for executing a slave operation byexecution of said programs, and a master robot controlled by saidcontrol unit set to said master function execution mode and a slaverobot controlled by said, control unit set to said slave functionexecution mode are cooperatively operated, wherein said control unitsare respectively equipped with input/output units and during acooperative operation, in said control unit set to said master functionexecution mode and said control unit set to said slave functionexecution mode among said plurality of control units, said control unitset to said master function execution mode, via said communicationconnection means, inputs and outputs signals for an external deviceusing said input/output unit of said control unit set to said slavefunction execution mode to control said input/output unit.
 11. Acooperative control system of robots according to claim 10, wherein saidcontrol unit set to said slave function execution mode changes saidminimum interruption period (Ts(b)) of said control unit set to saidslave function execution mode so as to make a communication delay time(tb-ta) from a time (ta) when said control unit set to said masterfunction execution mode transmits an operation instruction to a time(tb) when said control unit set to said slave function execution modereceives said operation instruction and starts controlling its own robotequal to a predetermined time (T).
 12. A cooperative control system ofrobots according to claim 11, wherein said predetermined time (T) isselected to less than a control period (W) of each control unit.
 13. Acooperative control system of robots according to claim 12, wherein saidcontrol unit set to said master function execution mode transmits aninstruction to its own robot while being delayed by said communicationdelay time (tb-ta) for said control unit set to said slave functionexecution mode.
 14. A cooperative control system of robots according toany one of claims 10 to 13, wherein in a cooperative operation, whensaid control unit set to said slave function execution mode is inputsaid operation instruction from said input means, said operationinstruction is input to said control unit set to said master functionexecution mode via said communication connection means, and said controlunit set to said master function execution mode executes said controloperation in response to said operation instruction input via saidcommunication connection means.
 15. A cooperative control system ofrobots according to any one of claims 10 to 14, wherein said controlunits respectively have emergency stop means for stopping a cooperativeoperation of each control unit during said cooperative operation, and anemergency stop signal generated from any one of said emergency stopmeans is input to control means equipped with said emergency stop meansgenerating said emergency stop signal and is simultaneously input toresidual control means via said communication connection means to stopoperations of all said robots.
 16. A cooperative control system ofrobots according to any one of claims 10 to 15, wherein each controlunit is provided with a coordinate system of each robot, and apositioning tool whose size is known is removably installed at a tip ofan arm of each robot, and tips of positioning tools of said robots whichare mutually neighboring are put opposite each other at least at threepoints so as to be arranged at a same position, thus a coordinatetransformation matrix for each robot is obtained, and a cooperativeoperation is executed using said coordinate transformation matrix.
 17. Acooperative control system of robots according to claim 16, wherein insaid cooperative operation, a relative position of said robot set tosaid slave function execution mode to said robot set to said masterfunction execution mode is interpolated so as to meet a relativeposition relationship at a taught operation start point and a relativeposition relationship at a taught operation end point.
 18. A cooperativecontrol system of robots comprising: a plurality of control units forcontrolling individually respective operations of a plurality of robotsin synchronization with a timing signal generated in a predeterminedminimum interruption period, communication connection meanscommunicatably connecting said control units to each other to constitutea network, input means which are respectively installed in said controlunits and input operation instructions of said robots, storage meanswhich are respectively installed in said control units and storeprograms for operating said robots in response to said operationinstructions of said robots, and timing signal generation means whichare respectively installed in said control units and generate timingsignals in said minimum interruption period, wherein: said control unitscan execute selectively at least one of an independent functionexecution mode, a master function execution mode, and a slave functionexecution mode by said programs stored in said storage means, when oneof said plurality of control units is set to said master functionexecution mode by execution of said programs, at least one of residualcontrol units excluding said control unit which is set to said masterfunction execution mode among said plurality of control units is set tosaid slave function execution mode for executing a slave operation byexecution of said programs, and a master robot controlled by saidcontrol unit set to said master function execution mode and a slaverobot controlled by said control unit set to said slave functionexecution mode are cooperatively operated, wherein in said cooperativeoperation, regarding a relative position of said robot set to said slavefunction execution mode in process of motion to said robot set to saidmaster function execution mode, a motion interim point of said robot setto said slave function execution mode is calculated in conformity with amotion interim point of said robot set to said master function executionmode so as to meet a relative position relationship at a taughtoperation start point and a relative position relationship at a taughtoperation end point.
 19. A cooperative control system of robotsaccording to claim 18, wherein said control unit set to said slavefunction execution mode changes said minimum interruption period (Ts(b))of said control unit set to said slave function execution mode so as tomake a communication delay time (tb-ta) from a time (ta) when saidcontrol unit set to said master function execution mode transmits anoperation instruction to a time (tb) when said control unit set to saidslave function execution mode receives said operation instruction andstarts controlling its own robot equal to a predetermined time (T). 20.A cooperative control system of robots according to claim 19, whereinsaid predetermined time (T) is selected to less than a control period(W) of each control unit.
 21. A cooperative control system of robotsaccording to claim 20, wherein said control unit set to said masterfunction execution mode transmits an instruction to its own robot whilebeing delayed by said communication delay time (tb-ta) for said controlunit set to said slave function execution mode.
 22. A cooperativecontrol system of robots according to any one of claims 18 to 21,wherein in a cooperative operation, when said control unit set to saidslave function execution mode is input said operation instruction fromsaid input means, said operation instruction is input to said controlunit set to said master function execution mode via said communicationconnection means, and said control unit set to said master functionexecution mode executes said control operation in response to saidoperation instruction input via said communication connection means. 23.A cooperative control system of robots according to any one of claims 18to 22, wherein said control units are respectively equipped withinput/output units and during a cooperative operation, in said controlunit set to said master function execution mode and said control unitset to said slave function execution mode among said plurality ofcontrol units, said control unit set to said master function executionmode, via said communication connection means, inputs and outputssignals using said input/output unit of said control unit set to saidslave function execution mode.
 24. A cooperative control system ofrobots according to any one of claims 18 to 23, wherein said controlunits respectively have emergency stop means for stopping a cooperativeoperation of each control unit during said cooperative operation, and anemergency stop signal generated from any one of said emergency stopmeans is input to control means equipped with said emergency stop meansgenerating said emergency stop signal and is simultaneously input toresidual control means via said communication connection means to stopoperations of all said robots.
 25. A cooperative control system ofrobots according to any one of claims 18 to 24, wherein each controlunit is provided with a coordinate system of each robot, and apositioning tool whose size is known is removably installed at a tip ofan arm of each robot, and tips of positioning tools of said robots whichare mutually neighboring are put opposite each other at least at threepoints so as to be arranged at a same position, thus a coordinatetransformation matrix for each robot is obtained, and a cooperativeoperation is executed using said coordinate transformation matrix.